//D3D App Class

#include <windows.h>
#include <d3d11_1.h>


class D3DApp
{
public:
	D3DApp();
	~D3DApp();

	virtual bool InitDevice(HINSTANCE hInstance, HWND hWnd);
	virtual bool Init();
	virtual void Render(double time) = 0;
	virtual bool Clean();
	virtual void OnSize(int width, int height);

protected:


	HINSTANCE               _hInst;
	HWND                    _hWnd;
	D3D_FEATURE_LEVEL       _featureLevel;
	ID3D11Device*           _pd3dDevice;
	ID3D11Device1*          _pd3dDevice1;
	ID3D11DeviceContext*    _pImmediateContext;
	ID3D11DeviceContext1*   _pImmediateContext1;
	IDXGISwapChain*         _pSwapChain;
	IDXGISwapChain1*        _pSwapChain1;
	ID3D11RenderTargetView* _pRenderTargetView;
	ID3D11Texture2D*        _pDepthStencilTexture;
	ID3D11DepthStencilView* _pDepthStencilView;
};


















